package modelo.regionRiego;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import modelo.red.Malla;
import modelo.sector.Sector;
import modelo.serieterreno.SerieTerreno;
import modelo.zonariego.ZonaRiego;

/**
 * 
 * @author edgar
 *Informacion sobre los sectores de riego en Quibor
 */
@Entity
@Table(name="region_riego")
public class RegionRiego {
	private int id;
	private String nombre;
	private String descripcion;
	private Calendar fechaCreacion;
	private List<ZonaRiego> listaZona;
	private List<Sector> listaSector;
	private List<SerieTerreno> listaSerie;
	private Malla serieTerreno;
	private Malla cotaTerreno;
	private Malla profundidadRoca;
	private Malla nivelAgua;
	private Malla ph;
	private Malla ce;
	private Malla sectorRiego;
	@Id
	@GeneratedValue
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	
	public String getNombre() {
		return nombre;
	}
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	public Calendar getFechaCreacion() {
		return fechaCreacion;
	}
	public void setFechaCreacion(Calendar fechaCreacion) {
		this.fechaCreacion = fechaCreacion;
	}
	@ManyToOne
	public Malla getSerieTerreno() {
		return serieTerreno;
	}
	public void setSerieTerreno(Malla serieTerreno) {
		this.serieTerreno = serieTerreno;
	}
	@ManyToOne
	public Malla getCotaTerreno() {
		return cotaTerreno;
	}
	public void setCotaTerreno(Malla cotaTerreno) {
		this.cotaTerreno = cotaTerreno;
	}
	@ManyToOne
	public Malla getProfundidadRoca() {
		return profundidadRoca;
	}
	public void setProfundidadRoca(Malla profundidadRoca) {
		this.profundidadRoca = profundidadRoca;
	}
	@ManyToOne
	public Malla getNivelAgua() {
		return nivelAgua;
	}
	public void setNivelAgua(Malla nivelAgua) {
		this.nivelAgua = nivelAgua;
	}
	@ManyToOne
	public Malla getPh() {
		return ph;
	}
	public void setPh(Malla ph) {
		this.ph = ph;
	}
	@ManyToOne
	public Malla getCe() {
		return ce;
	}
	public void setCe(Malla ce) {
		this.ce = ce;
	}
	@ManyToOne
	public Malla getSectorRiego() {
		return sectorRiego;
	}
	public void setSectorRiego(Malla sectorRiego) {
		this.sectorRiego = sectorRiego;
	}

	@OneToMany(mappedBy = "regionRiego")
	public List<ZonaRiego> getListaZona() {
		return listaZona;
	}
	public void setListaZona(List<ZonaRiego> listaZona) {
		this.listaZona = listaZona;
	}
	public void inicializarListaZona(){
		listaZona = new ArrayList<ZonaRiego>();
	}
	public void agregarZona(ZonaRiego zona){
		listaZona.add(zona);
	}
	@OneToMany(mappedBy = "regionRiego")
	public List<Sector> getListaSector() {
		return listaSector;
	}
	public void setListaSector(List<Sector> listaSector) {
		this.listaSector = listaSector;
	}
	public void inicializarListaSector(){
		listaSector = new ArrayList<Sector>();
	}
	public void agregarSector(Sector sector){
		listaSector.add(sector);
	}
	@OneToMany(mappedBy = "region")
	public List<SerieTerreno> getListaSerie() {
		return listaSerie;
	}
	public void setListaSerie(List<SerieTerreno> listaSerie) {
		this.listaSerie = listaSerie;
	}
	public void inicializarListaSerie(){
		listaSerie = new ArrayList<SerieTerreno>();
	}
	public void agregarSerie(SerieTerreno serie){
		listaSerie.add(serie);
	}
	public void inicializarListas(){
		inicializarListaSector();
		inicializarListaSerie();
		inicializarListaZona();
	}

	
	
	

	
}
